﻿#ifndef QBCIANALYZER_H
#define QBCIANALYZER_H

#include "qbciglobal.h"
#include "qbcimod.h"

namespace bci {

class QBciAnalyzer : public QBciMod {
  Q_OBJECT
public:
  QBciAnalyzer(const QString &id);
  QBciAnalyzer() = delete;
  QBciAnalyzer(const QBciAnalyzer &) = delete;
  QBciAnalyzer(QBciAnalyzer &&) = delete;
  virtual ~QBciAnalyzer(){};

signals:
  /*!
   * \brief 函数将会发送结果给 QBciApp
   * \param result 分析结果
   */
  void sendRes(const ::bci::QBciRes &param);

public slots:
  /*!
   * \brief 函数接收信号并进行处理
   * \param signal 接受到的信号
   *
   * 该函数由QBci本身的机制调用，子类必须实现该函数， 并且在实现中
   * 发出sendResult才能使程序正常运行
   */
  virtual void recvData(QSharedPointer<::bci::QBciSignal> signal) = 0;
};

} // namespace bci

#endif